<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   <script>
    //    正则相关方法 ：一、正则方法（正则下面的方法） 二.字符串方法（字符串中和正则相关的方法）
    // 一、正则方法 
    // 1.test
    // var reg = /\d+/;
    // var str = "fdasfd45fdsaf";
    // console.log( reg.test(str));

    // 2.exec ： 捕获符合匹配规则的字符；
    // 捕获可以把匹配的内容获取到；
    // var reg = /\d+/;
    // var str = "fdaf1111dasfd2222fdaf3333ds";
    // console.log(reg.exec(str));

    // exec 默认是惰性匹配
    // var reg = /\d+/;
    // var str = "fdaf1111dasfd2222fdaf3333ds";
    // console.log(reg.exec(str));
    // console.log(reg.exec(str));
    // console.log(reg.exec(str));

    // exec可以支持 全局匹配
    // 全局匹配 需要在正则后面给 g 修饰符 ；
    // var reg = /\d+/g
    // var str = "fdaf1111dasfd2222fdaf3333ds";
    // console.log(reg.exec(str));
    // console.log(reg.exec(str));
    // console.log(reg.exec(str));
    // console.log(reg.exec(str));


    // 修饰符 g ：全局匹配    i ： 忽略正则的大小写；
    // var reg = /abc/gi;
    // var str = "kjkljAbcfdaf";
    // if(reg.test(str)){
    //     console.log("有abc");
    // }else{
    //     console.log("没有abc");
    // }

// 总结： 正则方法  test  exec  2种修饰符  g 全局匹配  i 忽略大小写；

// 二、字符串和正则相关方法 （是字符串方法）;
// 1.split();
// var str = "a-b-c-d";
// var arr = str.split("-");
// console.log(arr);
// var str = "fdsaf432fdafdsa324dfa43fdsaf";
// var reg = /\d+/;
// var arr =  str.split(reg);
// // var arr = reg.split(str);  // 错误的
// console.log(arr);


// 2.search 查找 ,如果找到 返还 符合规则的索引值 ，如果没有找到返还 -1；
// var str = "fdaf213fdafd";
// var reg = /\d+/;
// var res =  str.search(reg);
// console.log(res);

// 3.replace: 替换字符
// var str = "fdsaf@qq.com";
// // @ ----> at
// var res =  str.replace("@","at"); 
// console.log(res);

// var str = "fdsaf213fda21321fdaf";
// var reg = /\d+/g;
// var res = str.replace(reg,"-");
// console.log(res);

// 敏感词过滤 ；
var str = "dfsafdsaSMfdaSMfdafdXXXfdaf";
// 替换  sm  和 xxx 换成 *;
var reg = /(sm)|(xxx)/ig;
//  var res = str.replace(reg,"**");
var res = str.replace(reg,function(item){
    console.log(item);
    return "*".repeat(item.length);
})
 console.log(res);


   </script> 
</body>
</html>